// server.js
// package.json中 需要增加一组键值对
//  "type": "module" 让 import 的语法可以被解析
import { createServer } from 'http'
import { Server } from 'socket.io'

const server = createServer()
const io = new Server(server)

// websocket
io.on('connection', (client) => {
  console.log('建立连接...')

  // 消息发送
  client.on('send-some-data', (msg) => {
    console.log('收到了客户端的数据: ' + msg)

    // 随机返回一条消息
    const messages = ['你好!', '我在写代码', '快下课了吧？']
    // 0 ~ 2 随机数据
    const index = Math.floor(Math.random() * 3)

    // 向客户端回复消息
    io.emit('sendToClient', messages[index])
  })

  // 断开连接
  client.on('disconnect', () => {
    console.log('断开连接...')
  })
})

// 开启服务器，端口 3000
server.listen(3000, () => {
  console.log('server start')
})
